#ifndef NON_BLOCKING_LED_H
#define NON_BLOCKING_LED_H

#include <libopencm3/stm32/gpio.h>
#include <stdint.h>
#include <stdbool.h>

// 定义 LED 状态结构体
typedef struct {
    uint32_t last_toggle_time;
    uint32_t toggle_interval;
    uint8_t current_led;
} LedState;

// 初始化 LED 和 SysTick
void led_init(LedState *led, uint32_t interval);

// 非阻塞更新 LED 状态
void led_update(LedState *led);

#endif